program SORTOWANIE; const N=10; type wektor=array[1..N] of integer; var W1,W2:wektor; b:byte; powtorz:char; i:1..N; procedure wprowadz_tab (var WE:WEKTOR); var i:integer; begin for i:=1 to N do begin write('element[',i,']='); readln(WE[i]); end; end; procedure Wyswietl_tab (var W:WEKTOR); var i:1..N; begin for i:=1 to N do writeln('element[',i,']=',W[i]:6); end; procedure Sort_wstawianie (var W:wektor); var i,k,tmp: integer; begin tmp:=W[i]; k:=i-1; while((k>0)AND(W[k]>tmp)) do begin W[k+1]:=W[k]; k:=k-1; end; W[k+1]:=tmp; end; procedure Sort_babelkowe (var W:wektor); var i,j,x:integer; begin for i:=1 to n-1 do for j:=1 to n-i do if W[j]>W[j+1] then begin x:=W[j]; W[j]:=W[j+1]; W[j+1]:=x; end; end; procedure Sort_wybor (var W:Wektor); var i,j,k,tmp:integer; begin for i:=1 to n-1 do begin k:=i; for j:=i+1 to n do if W[k]>W[j] then k:=j; tmp:=W[i]; W[i]:=W[k]; W[k]:=tmp; end; end; begin repeat writeln; writeln('Dane wejsciowe:'); writeln('Podaj', N,' liczb:'); wprowadz_tab(W1); writeln; writeln('WYNIKI:'); writeln('proste wstawianie>>'); for i:=1 to N do W2[i]:=W1[i]; sort_wstawianie(W2); wyswietl_tab(W2); writeln('sortowanie babelkowe>>'); for i:=1 to N do W2[i]:=W1[i]; sort_babelkowe(W2); wyswietl_tab(W2); writeln('sortowanie przez wybor>>'); for i:=1 to N do W2[i]:=W1[i]; sort_wybor(W2); wyswietl_tab(W2); writeln; Write ('powtorzyc ?? T/n: '); ReadLn(powtorz); until 't'<>powtorz; halt; readln; end.